package com.cyan.note.dto.manager.dashboard;

import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 进行中订单DTO
 * 
 * @author ZhangzhenYu
 * @since 2025-01-15
 */
@Data
public class ActiveOrderDTO {

    /**
     * 订单ID
     */
    private Long orderId;

    /**
     * 订单号
     */
    private String orderNo;

    /**
     * 服务名称
     */
    private String serviceName;

    /**
     * 客户姓名
     */
    private String customerName;

    /**
     * 客户电话
     */
    private String customerPhone;

    /**
     * 订单类型
     */
    private String orderType;

    /**
     * 订单类型名称
     */
    private String orderTypeName;

    /**
     * 订单状态
     */
    private String status;

    /**
     * 状态名称
     */
    private String statusName;

    /**
     * 分配的打手列表
     */
    private List<AssignedWorker> workers;

    /**
     * 开始时间
     */
    private LocalDateTime startTime;

    /**
     * 预计结束时间
     */
    private LocalDateTime expectedEndTime;

    /**
     * 已进行时长（分钟）
     */
    private Integer elapsedMinutes;

    /**
     * 预计时长（小时）
     */
    private BigDecimal plannedHours;

    /**
     * 订单金额
     */
    private BigDecimal orderAmount;

    /**
     * 是否超时
     */
    private Boolean isOvertime;

    /**
     * 超时分钟数
     */
    private Integer overtimeMinutes;

    /**
     * 紧急程度
     */
    private String urgencyLevel;

    /**
     * 备注
     */
    private String notes;

    @Data
    public static class AssignedWorker {
        /**
         * 打手ID
         */
        private Long workerId;

        /**
         * 打手昵称
         */
        private String workerName;

        /**
         * 打手状态
         */
        private String status;

        /**
         * 分成金额
         */
        private BigDecimal commissionAmount;
    }
}